iRidium для SIP-телефонии
Набор инструментов для создания интерфейсов, позволяющих совершать аудио- и видеовызовы между приложениями-клиентами iRidium (i3 pro), IP-телефонами и видеодомофонами с поддержкой стандарта SIP.
Документация обновлена: 17.10.2023
Описание
iRidium для SIP-телефонии позволяет создать интерфейс вызывной панели, работающий по протоколу SIP. Приложение i3 pro может принимать и совершать аудио- и видеовызовы.
Драйвер может быть использован на iRidium server только для реализации PUSH-уведомлений.

Поддерживаются кодеки (остальные желательно отключить в настройках SIP-сервера):
- G711(PCMU(m-law), PCMA(a-law));
- GSM;
- G722;
- H263;
- H263-1998;
- H264.
Протестированное оборудование:
- Akuvox;
- Dahua;
- True IP (только для российских разработчиков);
- Mobotix;
- Urmet;
- CAME BPT;
- DoorBird;
- 2N;
- BasIP;
- GUINAZ;
- Fanvil.
Не поддерживается работа в фоновом режиме (получение вызова свернутым и закрытым приложением), но можно настроить push-уведомления.
Лицензирование:
- используйте бесплатно в тестовом режиме i3 pro (через iRidium Transfer)
- приобретите лицензию iRidium 3.x, дополнение "SIP-телефония" предоставляется бесплатно
Готовые интерфейсы
Готовые интерфейсы для работы i3 pro как SIP интеркома / панели домофона
| Проект / Устройство | Функции |
|---|---|
| интерком (смартфон) интерком (планшет, ПК) | - клавиатура для вызовов - аудио- и видеовызовы - прием вызовов - "черный список" абонентов - история вызовов - настройка сервера - настройка аудиофильтров |
| упрощенный интерком (смартфон) упрощенный интерком (планшет, ПК) | - клавиатура для вызовов - аудиовызовы - прием вызовов - "черный список" абонентов - настройка аудиофильтров |
| панель домофона (смартфон) панель домофона (планшет, ПК) | - кнопка вызова домофона - прием вызова от домофона - видео с камеры (если есть) - можно добавить интерком |
| панель домофона Mobotix (смартфон) панель домофона Mobotix (планшет, ПК) | - кнопка вызова домофона - прием вызова от домофона - изображение реального времени с видеокамеры - открытие двери - переключение света - можно добавить интерком |
Конфигурация оборудования и настройки, необходимые для того, чтобы iRidium подключился к SIP-серверу и мог совершать звонки.
SIP-сервер - может быть аппаратным или программным. Функция сервера - коммутация вызовов между подключенными к нему абонентами.
SIP-абонент - это iRidium на смартфоне, планшете или ПК, IP-телефон, видеодомофон. Абоненты могут вызывать друг друга только через сервер.
Настройка SIP-сервера
SIP-сервер (PBX-сервер) хранит список абонентов, которые могут вызывать друг друга, и делает возможным вызов абонента. Голосовую связь через SIP-сервер можно настроить между панелями iRidium, аппаратными и программными IP-телефонами, видеодомофонами, в квартире, доме или офисе.
Аудио- и видеовызовы могут передаваться как по локальной сети, так и через роутеры и интернет.

Существуют три типа SIP-серверов:
- программный SIP-сервер,
- аппаратный SIP-сервер,
- встроенный SIP-сервер в видеодомофонах,
- облачный SIP-сервер (Cloud PBX).
iRidium не предоставляет готового SIP-сервера, поэтому необходимо использовать готовое решение.
Выберите подходящий SIP-сервер и настройте на нем несколько абонентов.
SIP-сервер имеет следующие реквизиты:
- Host - это IP-адрес для сервера в локальной сети, для облачных и удалённых серверов - имя домена (Server domain, Realm),
- Port - стандартно 5060.
Каждый абонент - это вызывная панель или домофон - имеет следующие реквизиты:
- SIP ID (SIP-номер, логин) - уникальный номер или имя, используемый для идентификации абонента,
- Password - пароль абонента для защиты от несанкционированного доступа к каналу связи,
- Caller ID (Display Name, псевдоним) - любое имя, отображаемое при приёме звонков, например, Jack Nicholson.
Для успешного подключения очень важно, чтобы на стороне SIP-сервера и на стороне SIP-абонента были настроены одинаковые Host, Port, SIP-номер и пароль. Совпадение Caller ID не обязательно.
Ниже приведены бесплатные варианты SIP-серверов.
Проверьте условия и ограничения их бесплатного использования.
| Сервер | Тип | Примечание |
|---|---|---|
| Linphone SIP Service | Облачный | создайте аккаунты на linphone.org - каждый аккаунт имеет логин, который вы должны использовать в качестве номера абонента. Адрес сервера: sip.linphone.org |
| Linphone Flexisip | программный (Linux, Mac OS, Windows, Android, iOS, BlackBerry) | - |
| 3CX Phone System | для установки на ПК (Windows) облачный | Инструкция |
| Asterisk FreePBX | для установки на ПК (Linux, Windows) | Инструкция |
| FreePBX | для установки на ПК (Linux) | - |
| Elastix | для установки на ПК (Linux) | - |
| Yeastar | облачный | - |
| Zadarma | Облачный | Инструкция |
| Antisip | Облачный | Инструкция |
Некоторые домофоны имеют встроенные SIP-серверы, например, у производителей Mobotix, Dahua, True IP.
Работа в iRidium Studio
Скачайте интерфейс вызывной панели и настройте его в iRidium Studio для подключения к SIP-серверу.
Настройка драйвера SIP
- В Project Device Panel, драйвер SIP, укажите параметры SIP-сервера и номер абонента, которым будет панель iRidium.

-
Name – имя драйвера, НЕ меняйте в готовом интерфейсе;
-
Driver Type – информация о типе драйвера;
-
Protocol – протокол передачи данных UDP/TCP;
-
Host – IP-адрес или домен SIP-сервера;
-
Port – порт подключения к SIP-серверу. Обычно 5060, а для Mobotix T24/T25: 5061;
-
Password – пароль подключения абонента к SIP-серверу;
-
Caller ID (Name) – имя абонента (может совпадать с SIP номером);
-
SIP ID (Number) – SIP номер абонента;
-
SIP server – Mobotix T26, Another;
-
First RTP Port – начало диапазона портов голосового обмена. Обычно 40000, а для Mobotix T24/T25: 7078;
-
Last RTP Port – конец диапазона портов голосового обмена. Обычно 41000, а для Mobotix T24/T25: 9078. Пробросьте эти UDP порты на роутере при звонках через интернет;
-
Use SIP TONE – генерировать SIP сообщения тонального набора;
-
Use DTMF TONE - генерировать обычные сообщения тонального набора. Они передаются в голосовом потоке. Рекомендованы к использованию;
-
External IP – внешний IP адрес панели управления. Указывается только, если в поле Host - адрес удаленного SIP-сервера. Чтобы заполнять это поле автоматически при звонках через интернет, используйте инструкцию. В настройках абонента sip сервера 3CX отключите параметр: "Запретить подключение из публичной сети";
-
Codec PCMU, Codec PCMA, Codec GSM, Codec G722 – аудиокодеки SIP. Можно включить один или все одновременно. Если не выбран ни один, кодек выбирается автоматически. Выключать все кодеки нельзя;
-
Codec H263, Codec H263-1998, Codec H264 – видеокодеки SIP. Можно включить один или все видеокодеки. Если ни один не выбран, кодек будет выбран автоматически при видеовызове;
-
Корректировка звука. Переключить режимы корректировки следует во время вызова. Некоторые режимы включаются с помощью команд драйвера SIP (см. готовые проекты). Включать корректировку или нет - зависит от условий работы:
- Echo Cancellation - подавление эхо;
- Automatic Gain Control - автоматическая регулировка усиления исходящего звука (передаваемого с микрофона). Помогает уменьшить перегрузки, эхо и резкие скачки громкости, делая исходящий от устройства звук качественнее, но приводит к снижению его громкости. Значение 0 - параметр выключен, 1-31 - диапазон регулировки усиления. По умолчанию значение этой настройки - 20. Эта обработка звука входит в эхоподавление (EchoCancel), поэтому будет работать только при включенном EchoCancel.
- Activation by voice - активация голосом. Приложение отправляет звук только при наличии речи, в остальное время выключает звук. Настройка помогает избавится от постороннего шума во время разговора.
-
Expiries - период истечения регистрации на SIP-сервере. Через заданный промежуток времени (в секундах) абонент автоматически начнёт перерегистрацию. Эта функция очень важна при работе с некоторыми SIP-серверами, которые периодически обновляют статус регистрации;
- VoiceMail - активация голосовой почты. Если абонент i3 pro занят, отключен или просто не может принять звонок, автоответчик предлагает звонящему сохранить голосовое сообщение в виде звукового файла, которое хранится в SIP-сервере. Абонент i3 pro позже может прослушать голосовые сообщения путём звонка на специальный номер. Учтите, что SIP-сервер должен поддерживать функцию голосовой почты;
- Use Decline - отправлять команду DECLINE вместе с CANCEL при завершении вызова (требуется для корректного завершения вызова при работе с некоторыми панелями, например 2N);
- Preview Mode - режим предпросмотра. После того, как к вам поступит входящий звонок, ваш собеседник будет слышать только гудки дозвона, но не будет видеть и слышать вас, до тех пор, пока вы не ответите на звонок, отправив команду ANSWER. При этом вы будете получать аудио и видео (если был совершен видео-звонок) со стороны звонящего;
- Do Not Disturb - режим “не беспокоить”. При включении автоматически отклоняет все входящие звонки.
-
Статус вызывной панели при успешном подключении к серверу: On Hook... (SIP > Feedback > STATUS)
-
Чтобы использовать вызывную панель без изменений, загрузите проект на панель управления.
-
Чтобы добавить вызывную панель в свой, готовый проект, следуйте инструкции в видео.
Команды и обратные связи SIP-драйвера
Готовые интерфейсы вызывных панелей используют команды и сообщения драйвера SIP для совершения и принятия вызовов. Обработку вызова выполняет JavaScript файл, без которого визуальный интерфейс не будет работать корректно.
Список команд и каналов обратной связи драйвера SIP, которые вы можете использовать при модификации JavaScript обработчиков и напрямую, привязывая команды и каналы к графическим элементам:

Commands:
- ANSWER - ответить на входящий звонок. Привяжите команду к кнопке:
- Send Number: 0 - ответить с аудио вызовом;
- Send Number: 1 - ответить с видео вызовом.
- CALL - позвонить. Номер, куда будет совершен вызов, нужно заранее записать в Feedbacks > NUMBER, как строку. Привяжите команду к кнопке:
- Send Number: 0 - аудио вызов;
- Send Number: 1 - видео вызов.
- CANCEL - отмена вызова. Привяжите команду к кнопке, Send Number: 0;
- SEND TONE - отправить тоновое значение. Привяжите команду к кнопке, Send Number: 1-9; * = 10; # = 11;
- REGISTER - зарегистрироваться на SIP-сервере. Привяжите команду к кнопке, Send Number: 0;
- UNREGISTER - отключиться от SIP-сервера. Привяжите команду к кнопке, Send Number: 0;
- SET AUDIO VOLUME - громкость динамиков (0-100%);
- SET ECHO CANCELATION - эхоподавление, вкл/выкл (1/0);
- SET MIC VOLUME - громкость микрофона (0-100%);
- SET SPEECH SEND - включение/выключение (1/0) настройки "Activation by voice";
- P2P CALL - совершить прямой звонок, без использования SIP-сервера, на IP адрес второго абонента:
- Send Number: 0 - аудио вызов;
- Send Number: 1 - видео вызов.
- TRANSFER CALL - перенаправляет входящий звонок на указанный номер. В эту команду записывают номер, на который происходит перенаправление звонка.
Feedback:
- AUDIO VOLUME - громкость динамиков (0-100%);
- CODEC - тип данных звука и видео: Payload Type (PT) см. полный список;
- DTMF CODE - последнее значение DTMF кода отправленное клиенту.
- ECHO CANCELATION - эхоподавление, вкл/выкл (1/0);
- EXPIRES - период срока регистрации на SIP-сервере;
- FIRST RTP PORT - первый порт RTP диапазона;
- INCOMING CALL - есть ли входящий звонок? 0 - нет, 1 - есть;
- INCOMING CALL NAME - имя звонящего, текст;
- INCOMING CALL NUMBER - номер звонящего, текст;
- JITTER - (мс) качество связи, дрожание канала. Скачущие значения более 30 мс могут быть признаком нестабильной связи;
- LAST RTP PORT - последний порт RTP диапазона;
- MESSAGE ACCOUNT - ID абонента ящика голосовых сообщений;
- MESSAGE LISTNED - количество прочитанных голосовых сообщений;
- MESSAGE UNLISTENED - количество непрочитанных голосовых сообщений;
- MIC VOLUME - громкость микрофона (0-100%);
- NUMBER - номер абонента. В этот Feedback записывают значение через диалог "Send to Project Token > Send Number" в редакторе макросов, чтобы при вызове команды CALL позвонить указанному абоненту;
- STATUS - текущий статус соединения (в текстовом виде):
- On Hook... - подключен к SIP-серверу, готов к работе;
- Connected... - создал подключение, готовлюсь к регистрации;
- Disconnected... - принудительно отключен от сервера (командой драйверу);
- Failed... - ошибка создания подключения (не связана с SIP-сервером);
- Trying... запрос вызова обрабатывается;
- Ringing... - местоположение вызываемого пользователя определено. Выдан сигнал о входящем вызове;
- Incoming Call... - входящий вызов;
- Talking... - разговор;
- Preview... - режим предварительного просмотра, активируется при входящем звонке и позволяет видеть / слышать звонившего до нажатия кнопки ответа (работает только при активированном Preview Mode в настройках фидбэка STATUS);
- Not Found... - вызываемый абонент не найден, нет такого SIP-номера;
- Not Acceptable... - соединение с сервером было установлено, но отдельные параметры, такие как тип запрашиваемой информации, полоса пропускания, вид адресации не доступны;
- Not Available... - вызываемый абонент не доступен для вызова;
- Declined... вызываемый пользователь не желает принимать входящие вызовы, не указывая причину отказа;
- Request Pending... - запрос поступил в то время, когда сервер еще не закончил обработку другого запроса, относящегося к тому же диалогу;
- Service Unavailable... - сервер не может в данный момент обслужить вызов вследствие перегрузки или проведения технического обслуживания.
- USED DTMF TONE - использование тонального набора DTMF: 0 - не используется, 1 - используется;
- USED SIP TONE - использование тонального набора SIP: 0 - не используется, 1 - используется;
- WAITING MESSAGE - наличие новых сообщений на голосовой почте для абонента: 0 - нет новых сообщений, 1 - есть новые непрослушанные сообщения.
Примеры работы с SIP в скрипте
Исходящий звонок на номер
Используется метод .Set() драйвера SIP. При отправке единицы на команду CALL осуществляется видео звонок, при отправке нуля - аудио звонок. Перед звонком следует задать исходящий номер.
var SIP = IR.GetDevice("SIP"); // name of SIP driver
SIP.SetFeedback("NUMBER", "4001"); //4001 - number to call
SIP.Set("CALL", 1); // 1 - videocall
Приём входящего звонка
Аналогично исходящему звонку, только нет необходимости указывать номер.
var SIP = IR.GetDevice("SIP"); // name of SIP driver
SIP.Set("ANSWER", 0); // 0 - audiocall
Отмена входящего звонка
Следует отправить 0 на команду CANCEL.
var SIP = IR.GetDevice("SIP"); // name of SIP driver
SIP.Set("CANCEL", 0);
Перенаправление входящего звонка
Позвонивший абонент будет перенаправлен для звонка на указанный номер.
var SIP = IR.GetDevice("SIP"); // name of SIP driver
SIP.Set("TRANSFER CALL", "103"); // 103 - number to transfer
Звонок с использованием P2P соединения
Прямой звонок, без использования SIP-сервера, на IP адрес второго абонента.
var SIP = IR.GetDevice("SIP"); // name of SIP driver
SIP.SetFeedback("P2P CALL IP", “192.168.0.33”); // 192.168.0.33 - IP adress to p2p call
SIP.Set("P2P CALL", 0); // 0 - audiocall
Открытие замка домофона через DTMF- или SIP-тон
DTMF- и SIP-тоны представляют собой сигналы о нажатии клавиш, передаваемые по протоколу SIP от абонента к абоненту. Домофоны умеют распознавать эти сигналы и выполнять определённые действия, например, открывать замок. Для этого в домофоне следует настроить код открытия двери, например, 123.
var SIP = IR.GetDevice("SIP"); // name of SIP driver
SIP.Set("SEND TONE", 1); // tone of '1' key
SIP.Set("SEND TONE", 2); // tone of '2' key
SIP.Set("SEND TONE", 3); // tone of '3' key
SIP.Set("SEND TONE", 11); // tone of '#' key
В драйвере SIP должны быть установлены параметры Use DTMF TONE или Use SIP TONE в значение True.
Нужно удостовериться, что SIP-сервер и домофон поддерживают передачу и приём DTMF- или SIP-тонов.
Замок может быть открыт через DTMF- или SIP-тон только во время соединения с уличной панелью домофона.
Обычно домофоны поддерживают альтернативные способы открытия замка - специальные HTTP-запросы. Они могут быть удобнее тем, что в этом случае не требуется устанавливать соединение с домофоном, замок может быть открыт в любой момент.
Настройка различных моделей видеодомофонов
Рекомендованные домофоны - вызывные панели, можно подключить к SIP-серверам как абонентов, для совершения аудио- и видеовызовов:
| Akuvox | ![]() |
| Dahua | ![]() |
| True IP только для российских разработчиков | ![]() |
| Mobotix | ![]() |
| Urmet | |
| CAME BPT | |
| DoorBird | ![]() |
| 2N | ![]() |
| BasIP | ![]() |
| GUINAZ | ![]() |
| Fanvil | ![]() |








